﻿using _06_Snake;

// 通过new 申请内存空间
Game game = new Game(20,20);
//game.Play();

// 面向对象 是一种编程思想
// 封装 继承 多态
// 类 class 它是一个抽象的概念 共通的概念抽取出来
// 真正要使用类 就需要实例化对象
// 前身是struct 可以互换
// 
// 访问修饰符 class 类名 {};
// 类里头的变量称之为成员属性 方法称之为成员方法
// 调用需要通过对象.来调用
//
// 构造函数 在类被实例化(new)的时候自动调用
// 一般用于初始化成员属性
// 每个类都有一个默认的构造函数 公共的 无参的 空的方法
// 一旦我们写了任意的构造函数 都会覆盖默认构造函数
// 如果我们不希望别人生成这个类 可以将构造函数设为私有
//
// 析构函数 在类被释放(delete)的时候自动调用
// 一般用于释放成员属性 一般不用 C#有自己的内存回收机制 GC
// 无法添加访问修饰符 强制public
//
// 封装
// 访问修饰符 public private protected
// 类的默认访问类型是 internal 类内部的默认访问类型是 private
// 

string str = "Hello World";
for (int i = 0; i < str.Length; i++)
{
    Console.ReadKey(true);
    Console.Write(str[i]);
}

Information info = new Information(30,2,50);

for (int i = 0;i < 10; i++)
{
    info.AddInfo("hello" + i, (ConsoleColor)(i % 15 + 1));
}
while (true)
{
    info.Input();
    info.Update();
    info.PrintInfo();
}